﻿using Face8280WebSocketServer.Command.Models;

namespace FaceFace8280WebSocketServer.Controllers.New.FaceDevice
{
    public class GetDeviceDetailDTO
    {
        public string DeviceId { get; set; }
        /// <summary>
        /// 设备名称
        /// </summary>
        public string DeviceName { get; set; }
        /// <summary>
        /// 设备IP地址
        /// </summary>
        public string IPAddress { get; set; }
        /// <summary>
        /// 设备端口
        /// </summary>
        public int Port { get; set; }
        /// <summary>
        /// 音量
        /// </summary>
        public int? Volume { get; set; }
        /// <summary>
        /// 语言模式
        /// </summary>
        public int? VoiceMode { get; set; }
        /// <summary>
        /// 问候语
        /// </summary>
        public int? Grettings { get; set; }
        /// <summary>
        /// 陌生人语言
        /// </summary>
        public int? StrangerVoice { get; set; }
        /// <summary>
        /// 补光灯
        /// </summary>
        public int? Light { get; set; }
        /// <summary>
        /// 屏幕亮度
        /// </summary>
        public int? Brightness { get; set; }
        /// <summary>
        ///红外图像开关 
        /// </summary>
        public int? IR { get; set; }
        /// <summary>
        /// 语言
        /// </summary>
        public int? Language { get; set; }
        /// <summary>
        /// 菜单密码
        /// </summary>
        public string MenuPassword { get; set; }
        /// <summary>
        /// 公司名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 设备二维码地址
        /// </summary>
        public string QRCodePath { get; set; }
        /// <summary>
        /// 设备时区
        /// </summary>
        public string TimeZone { get; set; }
        /// <summary>
        /// 保存陌生人记录
        /// </summary>
        public int? SaveExternalvisitors { get; set; }
        /// <summary>
        /// 保存现场图片
        /// </summary>
        public int? SavePhoto { get; set; }
        /// <summary>
        /// 活体检测
        /// </summary>
        public int? Bioassay { get; set; }
        /// <summary>
        /// 活体阈值
        /// </summary>
        public int? BioassayThreshold { get; set; }
        /// <summary>
        /// 识别距离
        /// </summary>
        public int? Distance { get; set; }
        /// <summary>
        /// 人脸识别阈值
        /// </summary>
        public int FaceThreshold { get; set; }
        /// <summary>
        /// 口罩检测
        /// </summary>
        public int? FaceMask { get; set; }
        /// <summary>
        /// 口罩阈值
        /// </summary>
        public int? FaceMaskThreshold { get; set; }
        /// <summary>
        /// 设备出入方向
        /// </summary>
        public int? Door { get; set; }
        /// <summary>
        /// 免验证开门
        /// </summary>
        public int? Free { get; set; }
        /// <summary>
        /// 保持开门时间
        /// </summary>
        public ushort? ReleaseTime { get; set; }
        /// <summary>
        /// 设备时间
        /// </summary>
        public string Time { get; set; }
        /// <summary>
        /// 卡号字节数
        /// </summary>
        public int? Cardbytes { get; set; }
        /// <summary>
        /// 曝光设置
        /// </summary>
        public int? Exposure { get; set; }
        /// <summary>
        /// 电梯继电器状态
        /// </summary>
        public string Relays { get; set; }
        /// <summary>
        /// 设备开门时段
        /// </summary>
        public List<GroupDetail> TimeGroups { get; set; }
        /// <summary>
        /// 门磁类型0，常闭；1，常开；2，无
        /// </summary>
        public int DoorSensor { get; set; }


        #region 人员存储详情
        /// <summary>
        /// 人员存储容量
        /// </summary>
        public string PSPerson { get; set; }
        /// <summary>
        /// 人脸存储容量
        /// </summary>
        public string PSFace { get; set; }
        /// <summary>
        /// 卡片存储容量
        /// </summary>
        public string PSCard { get; set; }
        /// <summary>
        /// 指纹存储容量
        /// </summary>
        public string PSFP { get; set; }
        /// <summary>
        /// 密码存储容量
        /// </summary>
        public string PSPasword { get; set; }
        /// <summary>
        /// 管理员存储容量
        /// </summary>
        public string PSAdmin { get; set; }
        #endregion


        #region 记录存储详情
        /// <summary>
        /// 出入记录存储容量
        /// </summary>
        public string RSRecord { get; set; }
        /// <summary>
        /// 系统及远程操作记录存储容量
        /// </summary>
        public string RSSystem { get; set; }
        /// <summary>
        /// 报警记录存储容量
        /// </summary>
        public string RSAlarm { get; set; }
        /// <summary>
        /// 门磁、门锁状态记录容量
        /// </summary>
        public string RSDoor { get; set; }
        #endregion


        #region 工作状态
        /// <summary>
        /// 后备电源电压
        /// </summary>
        public string WSUps { get; set; }
        /// <summary>
        /// 主电源电压
        /// </summary>
        public string WSVoltage { get; set; }
        /// <summary>
        /// 工作环境温度(摄氏度)
        /// </summary>
        public string WSTemperature { get; set; }
        /// <summary>
        /// 继电器物理状态 0--COM和NC常闭；1--COM和NO常闭
        /// </summary>
        public int? WSRelay { get; set; }
        /// <summary>
        /// 常开状态0表示常闭，1常开
        /// </summary>
        public int? WSKeepopen { get; set; }
        /// <summary>
        /// 门磁状态 0表关，1表示开
        /// </summary>
        public int? WSDoorSensor { get; set; }
        /// <summary>
        /// 电锁状态 0表关，1表示开
        /// </summary>
        public int? WSLockSensor { get; set; }
        /// <summary>
        /// 锁定状态0--未锁定，1--锁定
        /// </summary>
        public int? WSLocked { get; set; }
        /// <summary>
        /// 消息推送状态0--禁用，1--启用
        /// </summary>
        public int? WSMsgPush { get; set; }
        /// <summary>
        /// 报警状态，无报警为空字符串，多个报警用逗号分隔多个报警名称
        /// fire 消防报警
        /// blacklist 黑名单报警
        /// anti 防拆报警
        /// Illegal 非法验证
        /// password 胁迫报警密码
        /// openTimeout 开门超时报警
        /// </summary>
        public int? WSAlarm { get; set; }
        #endregion


        #region OEM信息
        /// <summary>
        /// 制造商
        /// </summary>
        public string MakerName { get; set; }
        /// <summary>
        /// 网址
        /// </summary>
        public string MakerUrl { get; set; }
        /// <summary>
        /// 生产日期
        /// </summary>
        public string MakerDate { get; set; }
        #endregion

        #region Version
        /// <summary>
        /// 固件版本
        /// </summary>
        public string VVer { get; set; }
        /// <summary>
        /// 人脸版本
        /// </summary>
        public string VFace { get; set; }
        /// <summary>
        /// 指纹版本
        /// </summary>
        public string VFp { get; set; }
        #endregion

        #region WG
        /// <summary>
        /// WG输出功能开关：1--启用；2--禁用
        /// </summary>
        public int? WGUse { get; set; }
        /// <summary>
        /// 0--禁用；26--WG26；34--WG34；66--WG66
        /// </summary>
        public int? WGBits { get; set; }
        /// <summary>
        /// WG字节顺序：1--高位在前低位在后；2--低位在前高位在后
        /// </summary>
        public int? WGOrder { get; set; }
        /// <summary>
        /// 输出数据类型：1--输出用户号；2--输出人员卡号
        /// </summary>
        public int? WGType { get; set; }
        #endregion

        #region 重复验证间隔
        /// <summary>
        /// 功能开关，0--禁止；1--启用
        /// </summary>
        public int? RpUse { get; set; }
        /// <summary>
        /// 重复验证时响应模式
        ///1、记录事件，不开门，有提示
        ///2、不记录事件，不开门，有提示
        ///3、不做响应，无提示
        /// </summary>
        public int? RpMode { get; set; }
        /// <summary>
        /// 最大65535秒。0表示无效
        /// </summary>
        public short? RpInterval { get; set; }
        #endregion

        #region 开门超时报警

        /// <summary>
        /// 功能开关，0--禁用；1--启用
        /// </summary>
        public int? OTAUse { get; set; }
        /// <summary>
        /// 超时时间：指门磁一直打开的时间。0表示关闭，1-65535表示具体数值。单位秒。 此报警无继电器输出，无记录
        /// </summary>
        public int? OTATimeout { get; set; }
        /// <summary>
        /// 继电器输出：0--不输出继电器；1--输出继电器(匪警继电器)
        /// </summary>
        public int? OTAAlarm { get; set; }
        #endregion

        #region 门磁报警功能
        /// <summary>
        /// 启用门磁报警
        /// </summary>
        public int? SAUse { get; set; }
        /// <summary>
        /// 不启用门磁报警检查的时间段
        /// </summary>
        public WeekModel SATime { get; set; }
        #endregion


        #region 设备体温检测参数
        /// <summary>
        /// 体温检测
        /// </summary>
        public int? BTUse { get; set; }
        /// <summary>
        /// 体温格式
        /// </summary>
        public int? BTFormat { get; set; }
        /// <summary>
        /// 体温报警阈值
        /// </summary>
        public double? BTAlarm { get; set; }
        /// <summary>
        /// 是否显示体温
        /// </summary>
        public int? BTShow { get; set; }
        /// <summary>
        /// 温度补偿-1~1
        /// </summary>
        public int BTCompensate { get; set; }

        #endregion


        #region webSocket
        /// <summary>
        /// 服务器地址
        /// </summary>
        public string WSServer { get; set; }
        /// <summary>
        /// 服务器端口
        /// </summary>
        public int WSPort { get; set; }
        /// <summary>
        /// 登录凭证
        /// </summary>
        public string WSToken { get; set; }
        /// <summary>
        /// SSL证书
        /// </summary>
        public string WSServerSSLCert { get; set; }
        /// <summary>
        /// 在线状态
        /// </summary>
        public int WSStatus { get; set; }
        /// <summary>
        /// 保活包间隔
        /// </summary>
        public int WSKeepalive { get; set; }
        /// <summary>
        /// 连接保持时间
        /// </summary>
        public int WSKeeptime { get; set; }
        /// <summary>
        /// 重连间隔时间
        /// </summary>
        public int WSReconnectTime { get; set; }
        #endregion

        #region IP信息

        /// <summary>
        /// IP地址
        /// </summary>
        public string IIp { get; set; }
        /// <summary>
        /// 子网掩码
        /// </summary>
        public string IMask { get; set; }
        /// <summary>
        /// mac地址
        /// </summary>
        public string IMac { get; set; }
        /// <summary>
        /// 默认网关
        /// </summary>
        public string IGateway { get; set; }
        /// <summary>
        /// 自动获取IP 0--禁用；1--启用
        /// </summary>
        public int IDhcp { get; set; }
        /// <summary>
        /// DNS地址
        /// </summary>
        public string IDns { get; set; }
        /// <summary>
        /// UPD监听端口
        /// </summary>
        public int IUdp { get; set; }
        /// <summary>
        /// TPC监听端口
        /// </summary>
        public int ITcp { get; set; }
        /// <summary>
        /// WEBSOCKET监听端口
        /// </summary>
        public int IWebsocket { get; set; }
        /// <summary>
        /// 启用SSL 0--禁用；1--启用
        /// </summary>
        public int ISsl { get; set; }

        #endregion

        #region wifi

        /// <summary>
        /// 开关 1 or 0
        /// </summary>
        public int WiFiUse { get; set; }
        /// <summary>
        /// wifi热点名称
        /// </summary>
        public string WiFiName { get; set; }
        /// <summary>
        /// 密码
        /// </summary>
        public string WiFiPassword { get; set; }
        /// <summary>
        /// IP地址
        /// </summary>
        public string WiFiIp { get; set; }
        /// <summary>
        /// 网关
        /// </summary>
        public string WiFiMask { get; set; }
        /// <summary>
        /// 子网掩码
        /// </summary>
        public string WiFiGateway { get; set; }
        #endregion
    }
}
